/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package Br.Com.Cds.Academia.Modalidade;

import Br.Com.Cds.Academia.DAO.AcessoMySQL;
import Br.Com.Cds.Academia.DAO.AcessoOracle;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;

/**
 *
 * @author Anatólio Pinheiro
 */
public class ModalidadeControl {
    
    PreparedStatement pstm;
    ResultSet rs;
    
    String consultaModalidade = "SELECT * FROM MODALIDADE WHERE NOME LIKE ?";
    String cadastraModalidade = "INSERT INTO MODALIDADE (STATUS,NOME) VALUES(?,?)";
    String alteraModalidade = "UPDATE MODALIDADE SET STATUS = ?, NOME = ? WHERE IDMODALIDADE = ?";
    String excluiModalidade = "DELETE FROM MODALIDADE WHERE IDMODALIDADE = ?";
    
     public void cadastrarModalidades(ModalidadeBean modalidade){  

        try{                                           
             AcessoMySQL mysql = new AcessoMySQL();    
             pstm =  (PreparedStatement) mysql.conectar().prepareStatement(cadastraModalidade); 
             pstm.setString(1,modalidade.getStatus());
             pstm.setString(2,modalidade.getNome());
             pstm.executeUpdate();  
             mysql.desconectar();               

        }catch(SQLException e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(null,"SQL EXCEPTION ! ERRO AO TENTAR CADASTRAR UMA MODALIDADE!","CDS ACADEMIA",JOptionPane.ERROR_MESSAGE);
        }

    }
    
         public void alterarModalidades(ModalidadeBean modalidade){  

        try{                                           
             AcessoMySQL mysql = new AcessoMySQL();    
             pstm =  (PreparedStatement) mysql.conectar().prepareStatement(alteraModalidade); 
             pstm.setString(1,modalidade.getStatus());
             pstm.setString(2,modalidade.getNome());
             pstm.setInt(3,modalidade.getIdModalidade());
             pstm.executeUpdate();  
             mysql.desconectar();               

        }catch(SQLException e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(null,"SQL EXCEPTION ! ERRO AO TENTAR ALTERAR UMA MODALIDADE!","CDS ACADEMIA",JOptionPane.ERROR_MESSAGE);
        }

    }
         
         public List<ModalidadeBean> listarModalidades(String nomeModalidade){   
           List<ModalidadeBean> modalidades = new ArrayList(); 

        try{                                                
            AcessoMySQL mysql = new AcessoMySQL();          
            pstm = (PreparedStatement) mysql.conectar().prepareStatement(consultaModalidade);
            pstm.setString(1,nomeModalidade);                        
            rs = pstm.executeQuery();                           
            ModalidadeBean mod;                                   
            
                while(rs.next()){                              
                mod = new ModalidadeBean();                          
                mod.setIdModalidade(rs.getInt("IDMODALIDADE"));           
                mod.setNome(rs.getString("NOME"));            
                mod.setStatus(rs.getString("STATUS"));         
                modalidades.add(mod);                               

            }

        }
         catch(SQLException e){
             e.printStackTrace();
             JOptionPane.showMessageDialog(null,"SQL EXCEPTION - ERRO AO TENTAR REALIZAR UMA CONSULTA","CDS ACADEMIA",JOptionPane.ERROR_MESSAGE);
         }
        return modalidades;                                    
    }
 
        public void excluirModalidade(int idModalidade){      

        try{
            AcessoMySQL mysql = new AcessoMySQL();  
            pstm = (PreparedStatement) mysql.conectar().prepareStatement(excluiModalidade); 
            pstm.setInt(1,idModalidade); 
            pstm.executeUpdate();   
            mysql.desconectar();    
            
        }catch(SQLException e){
            e.printStackTrace();
            JOptionPane.showMessageDialog(null,"SQL EXCEPTION - ERRO AO TENTAR EXCLUIR UM REGISTRO","CDS ACADEMIA",JOptionPane.ERROR_MESSAGE);

        }
    }
    
}
